package com.yida.wy.basic.domain.request;

import com.yida.wy.common.valid.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 党组织基础信息新增或修改Request
 *
 * @author lqq
 * @since 1.0
 */
@Data
@ApiModel(value = "党组织基础信息新增或修改Request", description = "党组织基础信息新增或修改Request")
public class WyBasePartyOrganizationRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 党组织ID
     */
    @ApiModelProperty(value = "党组织ID")
    @NotNull(groups = Update.class, message = "请求参数有误[partyOrganizationId]为空")
    private Long partyOrganizationId;

    /**
     * 党组织名称
     */
    @ApiModelProperty(value = "党组织名称")
    private String partyOrganizationName;

    /**
     * 建立时间
     */
    @ApiModelProperty(value = "建立时间")
    private Date establishTime;

    /**
     * 党组织类型
     */
    @ApiModelProperty(value = "党组织类型")
    private Integer partyOrganizationType;

    /**
     * 地区编码
     */
    @ApiModelProperty(value = "地区编码")
    private String areaCode;

    /**
     * 上级党组织名称
     */
    @ApiModelProperty(value = "上级党组织名称")
    private String superiorsOrganizationName;

    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址")
    private String detailAddress;

    /**
     * 组织职责
     */
    @ApiModelProperty(value = "组织职责")
    private String partyOrganizationResponsibility;

    /**
     * 党组织结构文件编码
     */
    @ApiModelProperty(value = "党组织结构文件编码")
    private String partyOrganizationStructureFileCode;

    /**
     * 物业企业ID
     */
    @ApiModelProperty(value = "物业企业ID")
    @NotNull(message = "请求参数有误[propertyManagementCompanyId]为空")
    private Long propertyManagementCompanyId;
}
